Client-server methods, systems and computer program products are widely used for communications between one or more servers and one or more clients in a communications network. One application of client-server methods, systems and computer program products is in mobile computing where a mobile client communicates with a server over a radio (wireless) network.
In mobile network computing, portable computers such as handheld, laptop (notebook), palmtop, or on-board computers in vehicles are generally used. Communication links are maintained between a portable end-device (client) and a stationary application server over a wireless telecommunication network. Unfortunately, mobile computing may limit many aspects of system performance.
For example, the performance of the common client hardware is often similar to the Disk Operating System (DOS) and thus the application software may be limited. Moreover, the system overhead which is used for communication with the server what may have a further impact on the overall performance of the mobile computing system. The display resources of currently used mobile computers also are generally limited compared with desktop computers or workstations. Moreover, those displays often include display formats which are significantly different from one another.
Currently used mobile computers also generally provide very limited and varying resources for user input/output of information. For instance, on-board computers used in the automobile industry often provide only a small number of simple input keys. On the other hand, other devices are provided with full keyboards. Any deficiencies may be balanced by emulation of a full function input device by driver software installed on the client side which is transparent to the applications.
Finally, the networks utilized for mobile computing may be very expensive to use. They may also provide low transmission rates.
Generic approaches in the field of conversational communication between a host mainframe computer, such as an IBM System/370, and peripheral Personal Computers (PCs), are known. Specific driver software installed at each client can enable a 3270 terminal emulation. Applications provided in these systems are generally not aware of the client's capabilities for enabling interactive dialogs with one or more users. Display resources of these clients, in addition, are generally classified into a limited set of terminal classes. The minimum display size is generally 80 characters per line and 24 lines with respect to one of those display classes. The applications are generally responsible for formatting dialog pages on the client side. The applications generally need to know the system resources for presentation of the application on the client side, and if necessary to configure the application. Therefore, the 3270 emulator approach may enable only uniform host communication (conversation) independent of the respective hardware platform provided on each client side.
Another generic communications approach is the HyperText Transfer Protocol (HTTP) communication protocol which, for example, is commonly used with the Internet. This protocol allows use of different hardware platforms on the client sides, utilizing only one unique protocol. However, the Internet generally is an information based system, and generally not a dialog based system. Thus, the Internet generally provides only a pool of information which can be browsed by a so-called "Web Browser". Moreover, the interactive provisions of these browsers generally are very restricted and generally concentrate only on the browsing mechanism and up- and downloading of information. Finally, the necessary system resources for implementation of these browsers are generally excessive with respect to mobile computer systems.
In mobile computing, existing portable computers generally use locally installed software and thus generally have restricted performance. Moreover, each change of application software generally must be installed on each of the clients, which can be costly, time consuming and error prone.